Embodiments presented herein relate to cloud services, and more specifically to provisioning hardware configurations for a variety of servers or server clusters using configuration templates.
Many providers of computing services generally are structured to provision “bare metal” servers based on a configuration. A bare metal server generally is a dedicated server in which resources are not shared by multiple users (e.g., through a set of virtual machines installed on the server). A configuration generally includes a number of servers, and each server configuration includes a specified CPU configuration (i.e., a type of CPU, speed, and number of CPU sockets), a specified amount of memory, storage space, network interfaces, and other server features. Typically, to provision a cluster of servers from an infrastructure provider, a user configures and requests provisioning of each server from the infrastructure provider individually.
Bare metal servers can be provided from multiple infrastructure providers. To determine which infrastructure provider offers a particular combination, a user may need to interact with each infrastructure provider to input individual server configurations with each provider. Based on the user-provided configuration, the user receives information from a cloud service provider whether the configuration is valid for that cloud service provider and, if the configuration is valid, pricing information for the configuration.
Performance metrics are generally monitored on a server or cluster of servers to determine resource utilization and usage patterns for the server. The performance metrics can be used to inform future orders. However, as with initial server orders, a user generally provides any subsequent server configuration requests individually for each server and from each cloud service provider.